#ifndef _INTERPOLATION_H_
#define _INTERPOLATION_H_

#include "sdl_surface.h"
#include "sdl_event.h"
#include "sdl_exception.h"

class Interpolation
	: public sdl::SurfaceListener
	, public sdl::EventListener
{
public:
	Interpolation() throw (sdl::Exception);

private:
	// Callback methods
	void on(sdl::SurfaceListener::Update, sdl::Surface*) throw();
	void on(sdl::EventListener::NewEvent, const SDL_Event*) throw();

	// Corner colors
	glm::vec3 _topLeft;
	glm::vec3 _topRight;
	glm::vec3 _bottomLeft;
	glm::vec3 _bottomRight;
};

#endif // _INTERPOLATION_H_
